#include<stdio.h>
#include<string.h>
#include<errno.h>
#include<unistd.h>
#include<sys/wait.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<time.h>
#include<sys/time.h>
#include<stdlib.h>



#define SYSTEMERR "{'message':'system error'}"//定义报错语言

#define BAC "resource/" /*所有个人文件夹的根目录*/
#define PUBCL "test/" /*设置测试用例所在目录*/
#define PUBR "right/"/*设置测试用例正确的答案*/
#define PUBT "temp/"/*设置零时文件目录*/ 
#define CC "gcc"/*编译c基础命令只输出错误信息*/
#define CCPP "g++"/*编译CPP基础命令只输出错误信息*/
#define CJAVA "javac"
#define FINAL "result/"/*存放用户最终结果*/

#define MAX_START_NUM 100/*最大运行数为100*/

double TL ;/*单位为ms时间限制*/
int ML ; /*单位为kb内存限制*/
int IsCheckCode;/*是否检测危险代码*/

int IsFile;//是否为文件输出0为否,1为是

struct pout{
  char *runid;/*执行进程号*/
  char user[32];/*用户名*/  
  char pro[10];//题号
  char result[25];//结果
                  //Wrong Answer
                  //Presentation 
                  //Compilation Error 
                  //Time Exceeded 
                  //Memory Exceeded 
                  //Output Exceeded 
                  //Runtime Error                       
                  //Accepted
                  //Compile Time over
  int memery;/*内存占用量*/
  float time;/*执行时间*/
  char la[6];/*c,cpp,java*/
  int  len;/*代码长度*/
  int submittime;/*创建时间*/
}theout;/*保存结果*/


struct ti
{
  char path[100];/*存放代码文件路径*/
  char outproname[100];/*存放生成可执行文件路径名例如/media/disk/a.out，会被删除*/
  char outpro[100];/*执行文件命令例如/media/disk/./a.out*/
  char outtemp[100];/*存放测试产生零时文件，会删除*/
  char checkexamp[100];/*存放测试用例所在文件夹*/
  char rightanswer[100];/*设置正确结果路径*/ 
  char cmdgcc[100];/*存放gcc命令,如果la为cpp 则存放g++*/
  char gccttemp[100];/*存放gcc编译结果，零时文件删除*/
  char final[100];/*存放用户成绩文件路径*/

 }thein;/*存放分析文件长生的路径*/

